// This file is part of Indico.
// Copyright (C) 2002 - 2025 CERN
//
// Indico is free software; you can redistribute it and/or
// modify it under the terms of the MIT License; see the
// LICENSE file for more details.

@use 'design_system';

/*
        Default Styles and layout for Conf-pages
        Do not custom this CSS
    */

// CSS Variables for conference theme customization
:root {
  /* Header */
  --conf-theme-header-bg: #1a64a0;
  --conf-theme-header-border-bottom: #0f4c80;
  --conf-theme-header-text: white;

  /* Subtitle area */
  --conf-theme-subtitle-bg: #f5faff;
  --conf-theme-subtitle-border: #d5e4f1;
  --conf-theme-subtitle-text: #24425a;

  /* Menu colors */
  --conf-theme-menu-bg: #f6f6f6;
  --conf-theme-menu-border: #ccc;
  --conf-theme-menu-link: #275c86;
  --conf-theme-menu-selected: #bd891a;
  --conf-theme-menu-selected-bg: #dadada;
  --conf-theme-menu-selected-border: #d0d0d0;

  --conf-theme-hover-bg: #e0e0e0;
  --conf-theme-hover-color: var(--conf-theme-menu-link);

  /* Support box */
  --conf-theme-support-bg: #f6f6f6;
  --conf-theme-support-border: #ccc;
  --conf-theme-support-header-bg: #1a64a0;
  --conf-theme-support-header-text: #f3f3f3;
  --conf-theme-support-text: #aaa;

  /* Announcement colors */
  --conf-theme-announcement-bg: #f5faff;
  --conf-theme-announcement-border: #c2d6e7;
  --conf-theme-announcement-text: #0f283d;
  --conf-theme-announcement-border-top: 1px solid var(--conf-theme-announcement-border);
  --conf-theme-announcement-border-bottom: none;
  --conf-theme-announcement-shadow: inset 0 0 0.3em var(--conf-theme-announcement-border);
}

/*     ------Wrapper------ */

/*     this is the wrapper of whole conference page */

.conf {
  width: 100%;
  border: none;
  margin: 0;
}

/*
    Header
*/
.confheader {
  background: var(--conf-theme-header-bg);
}

.confheader .event-label {
  margin-left: 1em !important;
  text-transform: uppercase;
  vertical-align: 50%;
}

.confLogoBox {
  height: 100%;
  float: left;
  padding-right: 10px;
  background: transparent none repeat scroll 0 0;
}

.confLogoBannerBox img {
  width: 100%;
  margin-bottom: 0.5rem;
}

.confTitleBox {
  color: var(--conf-theme-header-text);
  min-height: 90px;
  text-align: left;
  border-bottom: 1px solid var(--conf-theme-header-border-bottom);
  background: var(--conf-theme-header-bg) repeat-x 0 -24px;
}

.confTitle {
  width: 950px;
  margin: 0 auto;
}

.confTitle h1 {
  font-weight: normal;
  margin: 0;
}

.conference-title-link {
  font-size: 22pt;
  display: block;
  padding: 25px 0;
  color: var(--conf-theme-header-text);
}

.confSubTitleBox {
  background: var(--conf-theme-subtitle-bg);
  border-bottom: 1px solid var(--conf-theme-subtitle-border);
  border-top: 1px solid var(--conf-theme-subtitle-border);
  padding: 0.5rem 0;
}

.confSubTitleBox .toolbar {
  margin: 0;
}

.confSubTitleContent {
  width: 950px;
  margin: 0 auto;
  font-size: 11pt;
  color: var(--conf-theme-subtitle-text);
}

.confSubTitle a {
  font-size: 11pt;
}

.datePlace {
  font-size: 12pt;
}

div.datePlace > div.timezone {
  font-size: 12px;
  color: #777;
}

div.event-details {
  font-size: 1.1em;
  margin-top: 0.5em;

  .event-details-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.5em;
  }

  .event-details-label {
    width: 120px;
    text-align: right;
    font-weight: bold;
    margin-right: 1em;

    &.align-top {
      align-self: flex-start;
    }
  }

  .event-details-content {
    flex: 1;
  }
}

/* ------Main content------ */

#confSectionsBox {
  width: 950px;
  margin: 0 auto;
  margin-top: 30px;
}

/* ------Menu------ */

/* here is layout and style for creating default menu for conferences */

/* Styles for all menu Items */

#outer {
  width: 100%;
  position: relative;
  background: var(--conf-theme-menu-bg);

  border: 1px solid var(--conf-theme-menu-border);

  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

#outer > li.menuConfTitle {
  display: block;
}

#outer li a {
  display: block;
  text-decoration: none;

  font-family: verdana, arial, sans-serif;
  font-size: 10pt;
}

#outer li a.no-link,
#outer li a.no-link:hover {
  color: #555;
  cursor: default;
}

#outer li a:hover {
  background: var(--conf-theme-hover-bg);
  color: var(--conf-theme-hover-color);
}

.conf_leftMenu {
  float: left;
  width: 200px;
  background: transparent none repeat scroll 0 0;
}

.menuConfTitle {
  text-align: left;
  /* Common color shared by brown and orange themes */
  color: #0200c6;
}

.menuConfTitle a {
  color: var(--conf-theme-menu-link);
  padding: 7px 12px;
}

/* sub menu item */

li.menuConfMiddleCell {
  font-weight: normal;
}

.sublink {
  color: #777;
}

li.menuConfMiddleCell a {
  padding: 0 0 0 30px;
}

/* selected menu item */

.menuConfSelected,
.menuConfMiddleCellSelected {
  color: var(--conf-theme-menu-selected);
  background: var(--conf-theme-menu-selected-bg);
  border-bottom: 1px solid var(--conf-theme-menu-selected-border);
  border-top: 1px solid var(--conf-theme-menu-selected-border);
}

/* Common selected menu link styling */
.menuConfSelected a {
  color: var(--conf-theme-menu-link);
}

.menuConfBottomCell {
  border-bottom: 0;
  border-top: 0;
  background: transparent none repeat scroll 0 0;
  display: none;
}

/* Support link */

/* For dynamic menu */

.inner {
  font-family: arial, sans-serif;
  top: 0;
  position: relative;
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
}

.conf_leftMenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Fix IE. Hide from IE Mac \ */
* html ul li {
  float: left;
  height: 1%;
}

* html ul li a {
  height: 1%;
}

/* End */

li ul.inner li a {
  padding: 3px 12px 3px 30px;
  background: transparent url(/images/conf/left_menu_bullet.png) scroll no-repeat 15px center;
} /* Sub Menu Styles */

li:hover ul,
li.over ul {
  display: block;
} /* For dynamic */

/* ------Content------ */

/* wrapper of content and bradcrumps */

.confBodyBox {
  margin-left: 230px;
  background: transparent none repeat scroll 0 0;
}

/* This is for if someday you have more than one column in content */

.mainContent {
  width: 100%;
}

.col2 {
  width: 100%;
  float: left;
  font-family: verdana, arial, sans-serif;
}

/* ------Misc------ */

.conferenceDetails .description {
  color: var(--text-secondary-color);
  font-size: 1.2em;
  margin: 1em 0 2em 0;
}

table.conferenceDetails td {
  font-size: 11pt;
  color: #444;
}

table.conferenceDetails .displayField {
  text-align: left;
  font-weight: bold;
  font-size: 10pt;
  padding-right: 20px;
  color: #444;
}

.italic {
  font-style: italic;
}

.menuConfTopCell {
  display: none;
}

/* General elements */

pre {
  margin: 0;
  color: #444;
  font-size: 11pt;
}

.simpleTextAnnouncement {
  background: var(--conf-theme-announcement-bg) repeat-x scroll 0 -400px;
  border-top: var(--conf-theme-announcement-border-top);
  border-bottom: var(--conf-theme-announcement-border-bottom);
  box-shadow: var(--conf-theme-announcement-shadow);
  padding: 8px 0;
  font-family: Verdana, sans-serif;
  font-weight: bold;
  font-size: 10pt;
  text-align: center;
  color: var(--conf-theme-announcement-text);
}

/* Elements not part of the conference itself */

ul.chair_list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.conf_leftMenu .spacer {
  height: 1em;
}

.support_box {
  margin-top: 10px !important;
  width: 100%;
  color: var(--conf-theme-support-text);
  background: var(--conf-theme-support-bg);
  border: 1px solid var(--conf-theme-support-border);
}

.support_box > h3 {
  color: var(--conf-theme-support-header-text);
  background: var(--conf-theme-support-header-bg);
  margin: 0 0 5px 0;
  padding: 5px;
  font-weight: normal;
}

.support_box > ul > li {
  white-space: nowrap;
  margin: 0 5px 5px 10px;
  vertical-align: middle;
  text-overflow: ellipsis;
  overflow: hidden;
}

.support_box > ul > li .icon {
  color: #777;
  font-size: 1.5em;
  vertical-align: middle;
}

.support_box > ul > li > a {
  margin-left: 5px;
  line-height: 1.5em;
  vertical-align: middle;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
